}
static GtkWidget *
-find_label_child (GtkContainer *container)
+find_label_child (GtkWidget *widget)
{
- GList *children, *tmp_list;
GtkWidget *child;
- children = gtk_container_get_children (container);
-
- child = NULL;
- for (tmp_list = children; tmp_list != NULL; tmp_list = tmp_list->next)
+ for (child = gtk_widget_get_first_child (widget);
+ child != NULL;
+ child = gtk_widget_get_next_sibling (widget))
{
- if (GTK_IS_LABEL (tmp_list->data))
- {
- child = GTK_WIDGET (tmp_list->data);
- break;
- }
- else if (GTK_IS_CONTAINER (tmp_list->data))
+ if (GTK_IS_LABEL (child))
+ return child;
+ else
{
- child = find_label_child (GTK_CONTAINER (tmp_list->data));
- if (child)
- break;
+ GtkWidget *w = find_label_child (child);
+ if (w)
+ return w;
}
}
- g_list_free (children);
- return child;
+
+ return NULL;
}
static GtkWidget *
child = gtk_button_get_child (GTK_BUTTON (button));
- if (GTK_IS_CONTAINER (child))
- child = find_label_child (GTK_CONTAINER (child));
- else if (!GTK_IS_LABEL (child))
- child = NULL;
+ if (!GTK_IS_LABEL (child))
+ child = find_label_child (child);
return child;
}
gtk_button_accessible_class_init (GtkButtonAccessibleClass *klass)
{
AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
- GtkContainerAccessibleClass *container_class = (GtkContainerAccessibleClass*)klass;
GtkWidgetAccessibleClass *widget_class = (GtkWidgetAccessibleClass*)klass;
class->get_name = gtk_button_accessible_get_name;
class->initialize = gtk_button_accessible_initialize;
widget_class->notify_gtk = gtk_button_accessible_notify_gtk;
-
- container_class->add_gtk = NULL;
- container_class->remove_gtk = NULL;
}
static void
#error "Only <gtk/gtk-a11y.h> can be included directly."
#endif
-#include <gtk/a11y/gtkcontaineraccessible.h>
+#include <gtk/a11y/gtkwidgetaccessible.h>
G_BEGIN_DECLS
struct _GtkButtonAccessible
{
- GtkContainerAccessible parent;
+ GtkWidgetAccessible parent;
GtkButtonAccessiblePrivate *priv;
};
struct _GtkButtonAccessibleClass
{
- GtkContainerAccessibleClass parent_class;
+ GtkWidgetAccessibleClass parent_class;
};
GDK_AVAILABLE_IN_ALL